/**
 *
 */
package com.ruicar.afs.cloud.easypass.process.feign;

import com.ruicar.afs.cloud.common.core.feign.annotations.AfsFeignClear;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

/**
 *<p>Description: </p>  
 * @author happysayhello
 * @date Jul 26, 2020 
 * 内部调用，外部切勿调用
 * 内部调用，外部切勿调用
 * 内部调用，外部切勿调用
 *
 *
 */
@FeignClient(name = "easypass-process", url = "${com.greatwall.systems.easypass.url}")
public interface EasypassProcessFeign {

    /**
     * 代付
     * @param msg
     * @return
     */
    @PostMapping(value = "/pay/batchapply", consumes = MediaType.APPLICATION_JSON_VALUE)
    @AfsFeignClear(true)
    public String payBatchApply(@RequestBody String msg);

    /**
     * 代扣
     * @param msg
     * @return
     */
    @PostMapping(value = "/pay/apps", consumes = MediaType.APPLICATION_JSON_VALUE)
    @AfsFeignClear(true)
    public String recBatchApply(@RequestBody String msg);

    /**
     * 代付结果查询
     * @param msg
     * @return
     */
    @PostMapping(value = "/pay/apply/qry", consumes = MediaType.APPLICATION_JSON_VALUE)
    @AfsFeignClear(true)
    public String payBatchQry(@RequestBody String msg);

    /**
     * 代扣结果查询
     * @param msg
     * @return
     */
    @PostMapping(value = "/pay/app/qry", consumes = MediaType.APPLICATION_JSON_VALUE)
    @AfsFeignClear(true)
    public String recBatchQry(@RequestBody String msg);
    /**
     * 短信签约
     * @param msg
     * @return
     */
    @PostMapping(value = "/pay/verify", consumes = MediaType.APPLICATION_JSON_VALUE)
    @AfsFeignClear(true)
    public String sendSmsVerify(@RequestBody String msg);
    
    /**
     * 通用发送
     * @return
     */
    @PostMapping(value = "{path}", consumes = MediaType.APPLICATION_JSON_VALUE)
    @AfsFeignClear(true)
    public String commSendEasyPassMsg(@PathVariable("path") String path, @RequestBody String msg);

}
